css: Fix case where we didn't convert pt => px
authorBenjamin Otte <otte@redhat.com>
Thu, 28 Jul 2016 15:41:21 +0000 (11:41 -0400)
committerBenjamin Otte <otte@redhat.com>
Thu, 28 Jul 2016 15:42:54 +0000 (11:42 -0400)
Fixes gtk_widget_override_font() not behaving properly since commit
df08fc91bdc1d2e4c866122304fabe4dd298a7de.

https://bugzilla.gnome.org/show_bug.cgi?id=768902

gtk/gtkcssshorthandpropertyimpl.c

index bd6058727759bf94a974e6fd4edf84532cf1b1e9..3931363f07e97e5179f5b77d5bc803aac054721b 100644 (file)
@@ -1113,9 +1113,13 @@ unpack_font_description (GtkCssShorthandProperty *shorthand,
 
   if (mask & PANGO_FONT_MASK_SIZE)
     {
-      g_value_init (&v, G_TYPE_DOUBLE);
-      g_value_set_double (&v, (double) pango_font_description_get_size (description) / PANGO_SCALE);
+      double size;
 
+      g_value_init (&v, G_TYPE_DOUBLE);
+      size = pango_font_description_get_size (description) / PANGO_SCALE;
+      if (!pango_font_description_get_size_is_absolute (description))
+        size = size * 96.0 / 72.0;
+      g_value_set_double (&v, size);
       prop = _gtk_style_property_lookup ("font-size");
       _gtk_style_property_assign (prop, props, state, &v);
       g_value_unset (&v);